package com.aiYouPms.common.dao;

import com.aiYouPms.common.model.Role;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface RoleDao {

    /**
     * 查询所有角色
     * @return 角色列表
     */
    List<Role> findAll();

    /**
     * 根据ID查询角色
     * @param id 角色ID
     * @return 角色信息
     */
    Role findById(Integer id);

    /**
     * 根据角色编码查询角色
     * @param roleCode 角色编码
     * @return 角色信息
     */
    Role findByRoleCode(String roleCode);

    /**
     * 插入角色
     * @param role 角色信息
     * @return 插入影响的行数
     */
    int insert(Role role);

    /**
     * 更新角色
     * @param role 角色信息
     * @return 更新影响的行数
     */
    int update(Role role);

    /**
     * 根据ID删除角色
     * @param id 角色ID
     * @return 删除影响的行数
     */
    int deleteById(Integer id);

    /**
     * 根据角色名称查询角色
     * @param roleName 角色编码
     * @return 角色信息
     */
    Role findByRoleName(String roleName);

    /**
     * 根据条件查询角色
     * @param role 角色信息
     * @return 角色列表
     */
    List<Role> search(Role role);
}